using System;
using System.Collections;
using Agile.Common.UI;

namespace Agile.Common.Reflections.Tests
{
    /// <summary>
    /// Exists purely to test the functionality of the Assemblies class.
    /// Inherits from AgileCollection and implements a couple interfaces.
    /// </summary>
    public class AssembliesTester : AgileCollection, IAgileControlDetails
    {
        public string Display
        {
            get
            {
                // TODO:  Add AssembliesTester.Display getter implementation
                return null;
            }
        }

        #region IAgileControlDetails Members

        public IList ChildObjects
        {
            get
            {
                // TODO:  Add AssembliesTester.ChildObjects getter implementation
                return null;
            }
        }

        /// <summary>
        /// Gets the color to use for the fore color
        /// </summary>
        /// <remarks>Must be an existing color, may be null</remarks>
        public string ForeColor
        {
            get { return null; }
        }

        /// <summary>
        /// Gets the color to use for the back color
        /// </summary>
        /// <remarks>Must be an existing color, may be null</remarks>
        public string BackColor
        {
            get { return null; }
        }

        public string DisplayValue
        {
            get { throw new NotImplementedException(); }
        }

        #endregion
    }

    /// <summary>
    /// TEST CLASS
    /// </summary>
    public class AssembliesTesterChild : AssembliesTester
    {
    }

    /// <summary>
    /// TEST CLASS
    /// </summary>
    public abstract class AssembliesTesterAbstract : AssembliesTester
    {
    }
}